package user1;

import java.util.Scanner;

/**
 * @author Administrator
 * 测试类（用户界面）
 */
public class UserTest {
    // 创建用户操作对象
   // private static UserDao dao=new UserDaoMap();
    private static UserDao dao=new UserDaoIO();

    public static void main(String[] args) {
        /* 1、欢迎界面
        *  2、根据用户输入进入不同界面
        *    若1：进入注册界面
        *         接受用户输入信息（User完整信息）
        *         调用UserDao操作方法去实现注册功能
        *    若2：进入登陆界面
        *         接受用户输入信息（用户名和密码）
        *         调用UserDao操作方法去实现登陆功能
        *         若登陆成功，进入小游戏
        *         若登陆不成功，提示用户名或密码错误
        *    若3：进入查询所有用户界面
        *         调用UserDao操作方法去实现查询所有用户功能
        *    若4：退出*/
        while (true){
            // 欢迎界面
            System.out.println("-------欢迎光临-------");
            System.out.println("1 注册");
            System.out.println("2 登陆");
            System.out.println("3 查询所有用户");
            System.out.println("4 退出");
            System.out.println("请输入你的选择：");
            // 接受用户输入
            Scanner scanner=new Scanner(System.in);
            int num=scanner.nextInt();
            // 根据用户输入进入不同界面
            switch (num){
                case 1:
                    registerFace();
                    break;
                case 2:
                    loginFace();
                    break;
                case 3:
                    queryAllFace();
                    break;
                case 4:
                    System.out.println("欢迎下次继续光临");
                    System.exit(0);
                    break;
                default:
                    System.out.println("输入有误");
                    break;
            }

        }


    }

    /**
     * 查询所有用户界面
     * 调用UserDao操作方法去实现查询所有用户功能
     */
    private static void queryAllFace() {
        System.out.println("---------查询所有用户界面--------");
        dao.queryAll();
    }

    /**
     * 进入登陆界面
     *         接受用户输入信息（用户名和密码）
     *         调用UserDao操作方法去实现登陆功能
     *         若登陆成功，进入小游戏
     *         若登陆不成功，提示用户名或密码错误
     */
    private static void loginFace() {
        System.out.println("-------登陆界面-------");
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入用户名：");
        String name=sc.nextLine();
        System.out.println("请输入密码：");
        String password=sc.nextLine();

        boolean flag=dao.login(name,password);
        if(flag){
            System.out.println("登陆成功，可以玩小游戏了！");
        }else{
            System.out.println("失败！用户名或密码错误！");
        }
    }

    /**
     * 注册界面:
     *   1)注册界面
     *   2)接受用户输入信息（User完整信息）
     *   3)调用UserDao操作方法去实现注册功能
     */
    private static void registerFace() {
        System.out.println("---------注册界面--------");
        Scanner sc=new Scanner(System.in);
        Scanner sc1=new Scanner(System.in);
        // 如果数据库中操作，id自增，不需要输入
        System.out.println("请输入学号：");
        int id=sc.nextInt();
        System.out.println("请输入用户名：");
        String name=sc1.nextLine();
        System.out.println("请输入密码：");
        String password=sc1.nextLine();
        System.out.println("请输入年龄：");
        int age=sc.nextInt();

        User user=new User(id,name,password,age);
        dao.register(user);
        System.out.println("注册成功！");
    }
}
